import axios from 'axios'
import Vue from 'vue'
import router from './router/index'

const http = axios.create({
  baseURL:"http://localhost:3000/admin/api"
})

// 定义请求拦截器
http.interceptors.request.use( res => {
  // 为请求头添加一个Authorization属性
  if(localStorage.token){
    res.headers.Authorization = 'Bearer ' + localStorage.token
  }
  return res
}, err => {
  return Promise.reject(err)
})

// 定义响应拦截器
http.interceptors.response.use( res => {
  // 正常则直接返回
  return res
}, err => {
  // 出错 返回服务器端返回的错误信息
  if(err.response.data.message){
    Vue.prototype.$message({
      type:'error',
      message:err.response.data.message
    })
    // 当状态码为401时 进行路由跳转到登录页面login
    if(err.response.status === 401){
      router.push('/login')
    }
  }
  return Promise.reject(err)
})
export default http